A chargeback application may be used to account for the operational costs involved in providing and maintaining an information technology (IT) infrastructure, including the costs for IT services and applications. Measuring resource utilization and calculating the corresponding IT operational cost enable a data center to account for the IT resources utilized and bill for the services provided.
A customer of the data center may be an entity, such as a business, that may be organized in various departments or business units. Each department may use different computing resources of the data center. The data center then may charge the entity by department. For example, a bill may be generated detailing charges per department.
In a non-virtualized environment, a physical server and the associated resources like the applications running on the server can be easily mapped to a department using them, making the billing for such resource utilizations relatively easy. Also, costs incurred due to maintenance and licensing can be directly associated to a department, thereby enabling the data center to calculate the complete IT operational costs.
In a virtualized environment, however, the task of calculating the IT operational cost for each department becomes more difficult. Multiple virtual machines run on a physical server, which might be shared across different departments in the entity. As a result, resource utilization for this server and, therefore, the cost incurred cannot be directly associated to any single department. The difficulty in accounting for the data center gets further compounded when applications and services get shifted over time to different servers, based on the load and available infrastructure resources.
In using the virtualized environment, the customer of the data center may instantiate a number of virtual machines (VMs) in a virtual infrastructure. The virtual infrastructure may be a listing of departments and which virtual machines have been instantiated by each department. A configuration may be used to specify computing resources that are desired. For example, the configuration may include types of computing resources (e.g., a host with a certain processing speed) or fixed levels of service that can be provided.
A data center administrator is a user who configures costs for using resources of the data center. The data center administrator may assign a cost to a virtual machine based on the desired configuration. For example, based on the type of computing resources requested, the data center administrator assigns a cost to the virtual machine. In this case, the cost may be input using the chargeback application and associated with the virtual machine in the virtual infrastructure.
Other methods for assigning the cost to a virtual machine include defining fixed levels of access. For example, the fixed levels may determine certain types of resources that can be used by a virtual machine. In one example, a small level may include a certain amount of CPU speed and storage, such as a CPU speed of 1 GHz and storage of 1 GB. The small level may be a fixed cost of $0.05 per hour. A medium level may include a higher level of computing resources and rates. For example, computing resources for the medium level may include a CPU speed of 1.5 GHz and 2 GB of storage for the cost of $0.10 per hour. A customer may select which level to apply to a virtual machine. The rate for the level is then assigned to the virtual machine.
Once the virtual machine is instantiated, the virtual machine may be provisioned with computing devices in the data center. The provisioning may be performed before or after assignment of the cost to the virtual machine. However, the data center administrator assigning the cost may not be aware of which computing devices are provisioned with the virtual machine. Rather, the configuration requested is used to determine the cost. The usage of the provisioned computing resources is then monitored. Using the cost assigned to the virtual machine, a charge for the usage may be determined for the customer.
If the data center administrator is not aware of which computing devices are provisioned with the virtual machine, the costs assigned may not be reflective of the service being provided. For example, a virtual machine may be assigned to a computing device that is considered a more expensive computing device in the data center. The cost assigned to the virtual machine may not be reflective of the higher level of service that this computing device is providing.
The use of virtual machines may change frequently for a customer. For example, different divisions of the customer may instantiate or remove virtual machines from the virtual infrastructure. When a new virtual machine is instantiated, the data center administrator has to analyze the requested computing resources for the virtual machine and input a cost for that virtual machine. This may be a time-consuming process because of the frequency in which virtual machines are added and removed.